mscJNeuralNet.trainingAlgorithms
Class AbstractTrainingAlgorithm

java.lang.Object
  extended bymscJNeuralNet.trainingAlgorithms.AbstractTrainingAlgorithm
All Implemented Interfaces:
INetTrainingAlgorithm, observerPattern.Observable
Direct Known Subclasses:
BackpropagationMomentum, QuickProp, RProp, RPropWeightDecay, SuperSABMomentum

public abstract class AbstractTrainingAlgorithm
extends java.lang.Object
implements INetTrainingAlgorithm

Diese abstrakte Klasse implementiert Teile der Schnittstelle INetTrainingAlgorithm und sollte als Grundlage für die Implementierung eigener Lernverfahren dienen.

Created on 02.06.2004

Version:
05.06.2004
Author:
M. Serhat Cinar
See Also:
INetTrainingAlgorithm, mscJNeuralNet.trainingAlgorithms

Constructor Summary
AbstractTrainingAlgorithm()
           
 
Method Summary
 void applyWeightUpdate(int pOutputting, int pInputting)
          Derzeit leer.
 double[][] getActualGradients()
          Liefert die aktuellen Gradienten für die Gewichte.
 int getCycle()
          Liefert den aktuellen Lernschritt des Lernverfahrens.
 Net getNet()
          Liefert das Netz, welches derzeit von diesem Lernverfahren trainiert wird.
 observerPattern.ObserverManager getObserverManager()
           
 void init()
          Derzeit leer.
 void setActualGradients(double[][] pGradients)
          Legt die aktuellen Gradienten für die Gewichte fest.
 void setCycle(int pCycle)
          Am Ende dieser Methode werden alle Observer benachrichtigt.
 void setNet(Net pNet)
          (Er-)setzt das Netz, das durch dieses Lernverfahren trainiert werden soll.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface mscJNeuralNet.trainingAlgorithms.INetTrainingAlgorithm
getAlgorithmName, getDefaultLearningParameters, getLearningParameterNames, getLearningParameters, setLearningParameters
 

Constructor Detail

AbstractTrainingAlgorithm

public AbstractTrainingAlgorithm()
Method Detail

init

public void init()
Derzeit leer.

Specified by:
init in interface INetTrainingAlgorithm
See Also:
INetTrainingAlgorithm.init()

setNet

public void setNet(Net pNet)
Description copied from interface: INetTrainingAlgorithm
(Er-)setzt das Netz, das durch dieses Lernverfahren trainiert werden soll. Die Methode INetTrainingAlgorithm.init() wird am Ende aufgerufen, damit das Lernverfahren initialisiert wird.

Specified by:
setNet in interface INetTrainingAlgorithm
Parameters:
pNet - Das zu trainierende Netz.

getNet

public Net getNet()
Description copied from interface: INetTrainingAlgorithm
Liefert das Netz, welches derzeit von diesem Lernverfahren trainiert wird.

Specified by:
getNet in interface INetTrainingAlgorithm
Returns:
Das aktuelle Netz.

setCycle

public void setCycle(int pCycle)
Am Ende dieser Methode werden alle Observer benachrichtigt.

Specified by:
setCycle in interface INetTrainingAlgorithm
Parameters:
pCycle - Der aktuelle Lernschritt.
See Also:
INetTrainingAlgorithm.setCycle(int)

getCycle

public int getCycle()
Description copied from interface: INetTrainingAlgorithm
Liefert den aktuellen Lernschritt des Lernverfahrens.

Specified by:
getCycle in interface INetTrainingAlgorithm
Returns:
Aktueller Lernschritt des Lernverfahrens.
See Also:
INetTrainingAlgorithm.setCycle(int)

setActualGradients

public void setActualGradients(double[][] pGradients)
Description copied from interface: INetTrainingAlgorithm
Legt die aktuellen Gradienten für die Gewichte fest. Diese Methode wird von der Klasse Net benutzt, um dem Lernverfahren bei jedem Lernschritt die aktuellen Gradienten mitzuteilen.

Specified by:
setActualGradients in interface INetTrainingAlgorithm
Parameters:
pGradients - Die aktuellen Gradienten für die Gewichte.

getActualGradients

public double[][] getActualGradients()
Description copied from interface: INetTrainingAlgorithm
Liefert die aktuellen Gradienten für die Gewichte.

Specified by:
getActualGradients in interface INetTrainingAlgorithm
Returns:
Die aktuellen Gradienten für die Gewichte.
See Also:
INetTrainingAlgorithm.setActualGradients(double[][])

applyWeightUpdate

public void applyWeightUpdate(int pOutputting,
                              int pInputting)
Derzeit leer.

Specified by:
applyWeightUpdate in interface INetTrainingAlgorithm
Parameters:
pOutputting - Der Index des Neurons, von dem das Gewicht ausgeht.
pInputting - Der Index des Neurons, in die das Gewicht eingeht.
See Also:
INetTrainingAlgorithm.applyWeightUpdate(int, int)

getObserverManager

public observerPattern.ObserverManager getObserverManager()
Specified by:
getObserverManager in interface observerPattern.Observable